home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / sos3-2.lha / include / cci_use.h < prev    next >
C/C++ Source or Header  |  1991-11-08  |  5KB  |  124 lines

  1. #ifndef cci_SOSH
  2. #define cci_SOSH 1
  3.  
  4. #include "knl_use.h"
  5. #include "agg_use.h"
  6. #include "mta_use.h"
  7. typedef sos_Pointer cci_Make_obj;
  8. #define make_cci_Make_obj_object make_sos_Pointer_object
  9. #define make_cci_Make_obj make_sos_Pointer
  10. typedef sos_Pointer cci_IO_fun;
  11. #define make_cci_IO_fun_object make_sos_Pointer_object
  12. #define make_cci_IO_fun make_sos_Pointer
  13. class cci_Schema_impl;
  14. class cci_Method_impl;
  15. #include "cci_ext.h"
  16. sos_Object make_cci_Fun_object(cci_Fun);
  17. cci_Fun make_cci_Fun(sos_Object);
  18. #define _cci_Fun_type sos_Id::make(sos_Container::make(6112440),1316)
  19. #define cci_Fun_type sos_type_object(_cci_Fun_type,sos_Id::make(sos_Container::make(279048),504144))
  20. #define _cci_Make_obj_type sos_Id::make(sos_Container::make(15319856),1640)
  21. #define cci_Make_obj_type sos_type_object(_cci_Make_obj_type,sos_Id::make(sos_Container::make(279048),504144))
  22. #define _cci_IO_fun_type sos_Id::make(sos_Container::make(15319856),1640)
  23. #define cci_IO_fun_type sos_type_object(_cci_IO_fun_type,sos_Id::make(sos_Container::make(279048),504144))
  24. class cci_Schema_impl: public sos_Root_class 
  25. {  friend class _cci_Schema_impl;
  26.    class _cci_Schema_impl* _ref;
  27. public:
  28.    operator sos_Object ();
  29.    operator sos_Schema_impl ();
  30.    static cci_Schema_impl make(sos_Typed_id&);
  31.    static cci_Schema_impl make(sos_Typed_id&p,_cci_Schema_impl*r){
  32.    cci_Schema_impl o; o._tpid = p; o._ref=r; return o;}
  33.    static cci_Schema_impl make(sos_Root_class&);
  34.    sos_Offset _size();
  35.    static cci_Schema_impl create(sos_Container);
  36.    static cci_Schema_impl copy(cci_Schema_impl,sos_Container);
  37.    static cci_Schema_impl clone(cci_Schema_impl,sos_Container);
  38.    void destroy();
  39.    sos_Int hash_value();
  40.    void load();
  41.    sos_String_List get_libraries();
  42.    void set_libraries(sos_String_List _p1);
  43.    sos_String_List get_schemas();
  44.    void set_schemas(sos_String_List _p1);
  45.    static cci_Make_obj get_make_obj(sos_Id _p1,sos_Id _p2);
  46.    static void enter_fun(sos_Id _p1,cci_Fun _p2);
  47.    static void enter_string_io(sos_Id _p1,cci_IO_fun _p2,cci_IO_fun _p3);
  48.    static sos_Object extern_object_from_string(sos_Type _p1,sos_String _p2);
  49. protected:
  50.    static void local_assign(cci_Schema_impl _p1,sos_Object _p2);
  51. public:
  52.    sos_Bool has_type(sos_Type _p1);
  53.    sos_Bool isa(sos_Type _p1);
  54.    sos_Bool operator==(sos_Object _p1);
  55.    sos_Bool operator!=(sos_Object _p1);
  56. protected:
  57.    static sos_Bool local_equal(cci_Schema_impl x,cci_Schema_impl y,sos_Eq_kind eq_kind = EQ_STRONG);
  58. public:
  59.    void assign(sos_Object source);
  60.    sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
  61.    sos_String_List get_object_files();
  62.    void set_object_files(sos_String_List _p1);
  63.    static cci_Schema_impl make_impl(sos_Schema_module _p1);
  64.    static void enter_make_obj(sos_Id _p1,sos_Id _p2,cci_Make_obj _p3);
  65.    static cci_Fun get_fun(sos_Id _p1);
  66.    static sos_String string_from_extern_object(sos_Object _p1);
  67. protected:
  68.    static void local_initialize(cci_Schema_impl _p1);
  69.    static void local_finalize(cci_Schema_impl _p1);
  70. public:
  71.    sos_Type type();
  72.    sos_Bool is_some(sos_Type _p1);
  73.    sos_Bool is_value();
  74.    sos_Int size();
  75.    sos_Bool identical(sos_Object _p1);
  76.    sos_Bool like(sos_Object _p1);
  77.    sos_Comp_result compare_ids(sos_Object _p1);
  78. protected:
  79.    static sos_Int local_hash_value(cci_Schema_impl x);
  80. };
  81. #define _cci_Schema_impl_type sos_Id::make(sos_Container::make(6112440),1704)
  82. #define cci_Schema_impl_type sos_type_object(_cci_Schema_impl_type,sos_Id::make(sos_Container::make(279048),529560))
  83. class cci_Method_impl: public sos_Root_class 
  84. {  friend class _cci_Method_impl;
  85.    class _cci_Method_impl* _ref;
  86. public:
  87.    operator sos_Object ();
  88.    operator sos_Method_impl ();
  89.    static cci_Method_impl make(sos_Typed_id&);
  90.    static cci_Method_impl make(sos_Typed_id&p,_cci_Method_impl*r){
  91.    cci_Method_impl o; o._tpid = p; o._ref=r; return o;}
  92.    static cci_Method_impl make(sos_Root_class&);
  93.    sos_Offset _size();
  94.    static cci_Method_impl create(sos_Container);
  95.    static cci_Method_impl copy(cci_Method_impl,sos_Container);
  96.    static cci_Method_impl clone(cci_Method_impl,sos_Container);
  97.    void destroy();
  98.    void assign(sos_Object source);
  99.    sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
  100.    sos_Int hash_value();
  101.    void enter_fun(cci_Fun _p1);
  102.    sos_Object execute(sos_Object _p1,sos_Object_Array _p2);
  103.    static sos_String operator_string(sos_String _p1);
  104.    static cci_Method_impl make_impl(sos_Method _p1);
  105.    sos_Type type();
  106.    sos_Bool has_type(sos_Type _p1);
  107.    sos_Bool isa(sos_Type _p1);
  108.    sos_Bool is_some(sos_Type _p1);
  109.    sos_Bool is_value();
  110.    sos_Int size();
  111.    sos_Bool identical(sos_Object _p1);
  112.    sos_Bool operator==(sos_Object _p1);
  113.    sos_Bool operator!=(sos_Object _p1);
  114.    sos_Bool like(sos_Object _p1);
  115.    sos_Comp_result compare_ids(sos_Object _p1);
  116. protected:
  117.    static void local_assign(cci_Method_impl x,cci_Method_impl y);
  118.    static sos_Bool local_equal(cci_Method_impl x,cci_Method_impl y,sos_Eq_kind eq_kind = EQ_STRONG);
  119.    static sos_Int local_hash_value(cci_Method_impl x);
  120. };
  121. #define _cci_Method_impl_type sos_Id::make(sos_Container::make(6112440),16384)
  122. #define cci_Method_impl_type sos_type_object(_cci_Method_impl_type,sos_Id::make(sos_Container::make(279048),529560))
  123. #endif
  124.